perm filename MUS5IO.FAI[1,LCS] blob sn#305767 filedate 1977-09-19 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	 ******** THIS IS IRCAM VERSION ******
C00012 ENDMK
CāŠ—;
; ******** THIS IS IRCAM VERSION ******
;  MTA1 ITEMS ARE USED WITH "TAPMUS" (ETC.), TAPE TRANSFER PROGS.
	TITLE MUS5IO 
	INTERNAL FASTOU,PUTFIL,FINFIL,WRTHD,PACK
	EXTERNAL SBFILN
	CH2←11

DEFINE ERROR (MSG)
<	JSA 16,.ERROR
	JUMP [ASCIZ/MSG/
]
>

WRTHD:	USETO CH2,1	;GO BACK TO WRITE THE HEADER.
	POPJ 17,

;CALL PUTFIL(<FILE>)

;;PUTFIL:	0
PUTFIL:	MOVE 0,@0(16)
	MOVEM FILNAM
	JSA 16,INTFIL
	MOVE 0,[SIXBIT/MSB/]
	MOVEM 0,DIR+1
	SETZM DIR+2
	SETZM DIR+3
	ENTER CH2,DIR
	0
	MOVE DIR
	MOVEM SBFILN
	POPJ 17,
;;	JRA 16,1(16)

;CALL FASTOUT(<ARRAY>,<NO. OF WORDS>)

;;FASTOUT: 0
FASTOU:	HRRZ 0,0(16)
	SUBI 0,1
	MOVEM 0,COM
	MOVN 0,@1(16)
	HRLM 0,COM
	OUTPUT CH2,COM
	STATZ CH2,740000
	0
	POPJ 17,
;;	JRA 16,2(16)



;CALL FINFIL

;;FINFIL:	0
FINFIL:	CLOSE CH2,0
	STATZ CH2,740000
	0
	RELEASE CH2,0
;;	JRA 16,0(16)
	POPJ 17,

DIR:	BLOCK 4


INTFIL:	0	;INITS DSK 
	INIT CH2,17
	SIXBIT/DSKM/
	0
	ERROR <CAN'T INIT DSK!>
INTF4:	MOVE 0,FILNAM#
	MOVEM 0,FN#
	MOVE 1,[POINT 7,FN]
INTF3:	MOVE 2,[POINT 6,DIR]
	SETZM DIR
	MOVEI 3,5
INTF1:	ILDB 0,1
	CAIN 0," "
	JRST INTF2
	SUBI 0,40
	IDPB 0,2
	SOJG 3,INTF1
INTF2:	JRA 16,0(16)


COM:	OCT 0,0
COM1:	0
BLKNUM:	0

.ERROR:	0
	OUTSTR [ASCIZ/?
/]				;MAKE SURE HE CAN SEE HIS ERROR
	OUTSTR @(16)		;OUTPUT ERROR MESSAGE
	CALLI 1,12		;LET USER CONTINUE
	JRA 16,1(16)

;;CALL PACK(PW,AR)
PACK:	HRRZ 4,1(16)	; ******* USES AC'S 4,5,6 ********
	MOVE 4,@4
	ADDI 4,2
	HRR 5,@4	;SIZE IS 12 BITS
	LSHC 5,-14
	SOJ 4,
	HRR 5,@4
	LSHC 5,-14
	SOJ 4,
	HRR 5,@4
	LSHC 5,-14
	MOVEM 6,@0(16)
	POPJ 17,
END